// 打家劫舍问题
// 终局  这家要不要偷
// dp(i)    // 最多的钱
// dp[i-2] + nums[i]  dp[i-1]
var rob = function (nums) {
    let length = nums.length; // 缓存长度  优化
    if (length == 1) {
        return nums[0]
    }

    let dp = [];// 最优子结构集合
    // 初始值
    dp[0] = nums[0]
    dp[1] = Math.max(nums[0], nums[1])
    for (var i = 2; i < length; i++) {
        dp[i] = Max.max(dp[i - 2] + nums[i], dp[i - 1])
    }
    return dp[length - 1]
}
// console.log(dp);